package core.service.crud;

import java.io.Serializable;
import java.util.List;

import core.base.page.Page;
import core.base.page.PageRequest;
import core.dao.mybatis.QueryResult;

public interface GenericService<T, I extends Serializable, Q> extends CrudService<T, I> {

	public List<T> query(Q cond, long first, long max);

	public QueryResult<T> queryForResult(Q cond, long first, long max);
	
	public Page queryForPage(Q cond, PageRequest pageReq);

	public T getFirst(Q cond);
}
